29. Point of Sale

Point of Sale (POS) refers to the place where a retail transaction is completed. It is the point where a customer pays for goods or services and receives a receipt for the purchase. A POS system typically includes hardware (like a cash register, barcode scanner, receipt printer, and card payment terminal) and software to manage sales, inventory, customer data, and various other aspects of retail operations.


POS in Odoo

Odoo is a comprehensive open-source ERP platform that includes a robust POS module. The Odoo POS system integrates seamlessly with other Odoo modules like Inventory, Accounting, and CRM, providing a unified platform to manage all aspects of retail operations.


Where We Use Odoo POS:

  • Retail Stores: Physical retail locations for managing sales, inventory, and customer interactions.
  • Restaurants and Cafes: For taking orders, managing tables, and processing payments.
  • E-commerce: Integrates with Odoo’s e-commerce module for online sales.
  • Service-Based Businesses: Such as salons or repair shops, for managing appointments and sales.

1. User Interface

  • Intuitive Layout: Odoo POS interface is designed for ease of use, with large buttons and a clean layout. Products can be displayed with images, making it easy for cashiers to find and select items.
  • Touchscreen Support: Odoo POS is optimized for touchscreen devices, allowing quick and efficient operation.
  • Search Functionality: Cashiers can quickly search for products by name, category, or barcode.
  • Customization Options: Businesses can customize the interface to feature frequently sold items prominently.

so when we click on new session it shows one pop up meniu which is Opening Cash Control

Screenshot from 2024-06-18 12-39-53.png

Here we need to set up starting cash balance with notes

Here how it looks

Screenshot from 2024-06-18 12-47-10.png

Overview of the Odoo POS UI

1. Product Display Area

  • Product Images and Details: This section displays the available products with their images, names, and prices. For example, you can see items like "Corner Desk Left Sit" priced at $97.75, "Large Desk" priced at $2,068.85, etc.
  • Product Categories: At the top, there is a breadcrumb-like navigation indicating that the current category is "Desks". This helps in organizing products and makes it easier for cashiers to find specific items.

2. Cart Area (Center)

  • Cart Icon: In the center of the UI, there is a cart icon with the text "Start adding products". When products are added to the cart, this area will display the list of selected items, their quantities, and the total amount due.

3. Control Panel (Bottom Left)

  • Payment Section: The purple section labeled "Payment" is where you initiate the payment process. This area typically includes buttons for processing payments, selecting payment methods, and finalizing the transaction.
  • Numeric Keypad: The numeric keypad allows for quick entry of quantities, prices, discounts, etc. It can also be used for entering the amount of cash received during cash transactions.
  • Function Buttons:
    • Customer Button: Assign or select a customer for the transaction. This can be useful for applying customer-specific discounts or tracking purchase history.
    • Refund Button: Used to process returns and refunds.
    • Customer Note: Add a note specific to the customer or the transaction.
    • Quotation/Order: Convert the cart into a quotation or order instead of a direct sale.
    • Qty (Quantity): Enter or adjust the quantity of the selected product.
    • % Disc (Discount): Apply a discount percentage to the selected product.
    • Price: Manually enter or adjust the price of the selected product.

4. Search Bar (Top Right)

  • Search Products: A search bar at the top-right corner allows the cashier to quickly search for products by name or other attributes. This speeds up the checkout process by making it easy to find specific items.

5. User Information (Top Right)

  • User Profile: The top-right corner shows the logged-in user, in this case, "Mitchell Admin". Clicking on this might provide options to log out or switch users.
  • Network Indicator: A Wi-Fi icon indicating the network status. Ensuring the POS system is connected is crucial for real-time data synchronization, especially when integrated with inventory or accounting systems.

Example Workflow Using the Odoo POS UI

  1. Adding Products to Cart:

    • Click on the product images under the "Desks" category to add them to the cart. For instance, clicking on "Corner Desk Left Sit" will add this item to the cart.
  2. Adjusting Quantities and Prices:

    • Use the numeric keypad to adjust the quantity of the selected product. Select the product in the cart, enter the desired quantity using the keypad, and press the "Qty" button.
    • Apply discounts if necessary by selecting the product, entering the discount percentage on the keypad, and pressing the "% Disc" button.
  3. Assigning a Customer:

    • Click on the "Customer" button to assign or select an existing customer from the database. This is useful for tracking customer purchases or applying customer-specific discounts.
  4. Processing Payment:

    • Once all items are added to the cart and adjustments are made, click on the "Payment" button.
    • Choose the payment method (cash, card, mobile payment, etc.) and complete the transaction.
    • A receipt is generated and can be printed or emailed to the customer.
  5. Handling Refunds and Returns:

    • Click on the "Refund" button to process returns. Select the items being returned, adjust quantities if needed, and process the refund.
  6. Adding Notes or Converting to Orders:

    • Use the "Customer Note" button to add any specific notes related to the transaction.
    • If the customer wants a quotation instead of an immediate purchase, click the "Quotation/Order" button to convert the cart into a quotation or order.

Also we can handle orders, cash in/out, hide product images, hide category images also backend and to close session click on close session.


2. POS shop configuration

Screenshot from 2024-06-18 13-14-27.png

From POS Shop cofiguration

  • we can manage settings of POS module, payment Methods, Coin/Bills, Point of sales, Products Inside product section we can handle PoS Product Categories and attributes, and Taxes.

Settings of POS Module

Screenshot from 2024-06-18 13-21-09.png

  • Here from settings we can manage Restaurant mode.

  • For payment

    1. we can manage payment methods

    2. To automatically validates orders paid with a payment terminal.

    3. Cash rounding

    4. Tips (Accept customer tips or convert their change to a tip)

    5. Set maximum difference means

      • Let's say you set the maximum difference in payments to $0.50. Here’s how it works in practice:

      • Total Due: $20.00

      • Cash Received: $19.75

      In this case, the difference is $0.25, which is within the acceptable threshold of $0.50. The POS system will accept the payment without any issues.


PoS Interface Settings

Screenshot from 2024-06-18 13-21-17.png

1. Start Category

  • Description: This setting allows you to define a default product category that will be shown when starting the POS session.
  • Example: In the screenshot, "Desks" is selected as the start category. This means when a cashier starts a new session, products from the "Desks" category will be displayed first.

2. Restrict Categories

  • Description: This option enables you to pick which product categories are available for selection in the POS interface. It helps in narrowing down the product selection to specific categories, making it easier for cashiers to find items.
  • Example: The categories "Chairs," "Desks," and "Misc" are restricted categories, meaning only these categories will be visible in the POS product selection interface.

3. Margins & Costs

  • Description: When enabled, this setting shows the margins and costs on the product information. This can be useful for managers or cashiers who need to be aware of profit margins during sales.
  • Example: This setting is not enabled in the screenshot. If enabled, it would show the cost price and margin percentage for each product.

4. Multi Employees per Session

  • Description: This setting allows multiple employees to log in and switch between each other within the same POS session. This is useful in a busy retail environment where multiple employees may need to use the same terminal.
  • Example: The setting is not enabled in the screenshot. If enabled, employees could switch users without closing the session.

5. Large Scrollbars

  • Description: This setting improves navigation by making scrollbars larger, which is particularly useful for touchscreen devices in industrial settings where precision might be challenging.
  • Example: This setting is not enabled in the screenshot. If enabled, it would make scrollbars larger for easier navigation on touchscreens.

6. Share Open Orders

  • Description: This feature allows employees to access and manage each other's active orders. This is useful in environments where teamwork and collaboration are needed to manage customer orders.
  • Example: The setting is not enabled in the screenshot. If enabled, employees could access orders created by their colleagues within the same POS session.

Accounting Settings

Screenshot from 2024-06-18 13-21-28.png

1. Default Sales Tax

  • Description: This setting allows you to define a default sales tax rate that will be applied to products sold through the POS. It ensures that the correct tax rate is automatically applied to all sales unless specified otherwise.
  • Example: In the screenshot, the default sales tax is set to 15%. This means every product sold through the POS will have a 15% sales tax added unless overridden by another tax rate.

2. Flexible Taxes

  • Description: This option, when enabled, allows the use of fiscal positions to apply different tax rates based on the customer's location or type. Fiscal positions can change the tax rates or apply specific tax rules to orders.
  • Example: This setting is not enabled in the screenshot. If it were enabled, you could apply different tax rates for customers from different regions or based on certain conditions.

3. Default Journals

  • Description: This setting defines the default journals used for recording orders and invoices in the POS. Journals are essential in accounting as they record financial transactions.
  • Example:
    • Orders Journal: Set to "Point of Sale," meaning all POS transactions will be recorded in the "Point of Sale" journal.
    • Invoices Journal: Set to "Customer Invoices," meaning any customer invoices generated will be recorded in the "Customer Invoices" journal.

Sales Settings

4. Sales Team

  • Description: This setting allows you to assign a specific sales team to handle the sales reported through the POS. It helps in organizing and managing sales activities within different teams.
  • Example: The screenshot shows that no sales team is currently assigned. If a sales team were selected, all sales through the POS would be attributed to that team for reporting and management purposes.

5. Down Payment Product

  • Description: This setting specifies the product that will be used to account for down payments made in the POS. A down payment product is a placeholder product that represents the amount paid in advance by customers.
  • Example: The down payment product is set to "Down Payment (POS)." This means when a customer makes a down payment, this specific product will be used to record the transaction in the accounting system.

POS Sessions

Screenshot from 2024-06-18 15-05-10.png

Here in POS Sessions we can check who has opened an session for particular POS in that we can get information opening data closing data and status of that session

When you create a new session it generates Session ID for that POS and it store the data like what is opening date & time of that session, closing date & time of that session and name of that cashier who has opened the session.

Here how it looks when you open particular session

Screenshot from 2024-06-18 15-21-40.png
Here you can check how many orders you have done today and in which payment method how many money you received.


POS Payment methods

Screenshot from 2024-06-18 15-33-57.png

Here we can see which payment method is used for which point of sale
How it looks, when we try create new payment method.

Screenshot from 2024-06-18 15-39-13.png

When you select online payment it shows one extra field which is all available providers from these we can select payment provider like stripe, razorpay, paypal etc. for testing purpose they have provided one demo provider.

Example:

Configuring Stripe as a payment terminal in Odoo for the POS (Point of Sale) system involves a series of steps. This integration allows you to accept credit card payments directly through the Stripe terminal in your Odoo POS interface. Here’s a detailed guide to help you through the process:

1. Prerequisites

  • Stripe Account: Ensure you have an active Stripe account.
  • Stripe Terminal: Ensure you have a Stripe Terminal device.
  • Odoo Installation: Ensure you have Odoo installed and have access to the Point of Sale and Accounting modules.

2. Installing the Required Modules

First, you need to install the necessary modules in Odoo to support Stripe integration.

  1. Navigate to the Apps module:
    • Go to the Apps menu.
    • Search for "Stripe" and install any relevant module, such as "Payment Stripe" and "Stripe Terminal" if available.

3. Configuring Stripe in Odoo

a. Set Up Stripe API Keys

You need to retrieve your API keys from your Stripe account.

  1. Log in to your Stripe account:
    • Navigate to the Dashboard.
    • Go to Developers > API keys.
    • Copy your Publishable key and Secret key.

b. Configure Stripe Payment Acquirer in Odoo

  1. Go to the Invoicing/Accounting module:

    • Navigate to Invoicing or Accounting > Configuration > Payment Acquirers.
    • Click on Create to add a new payment acquirer.
    • Select Stripe as the provider.
  2. Enter the Stripe API Keys:

    • Enter the Publishable key and Secret key that you copied from your Stripe account.
    • Configure other settings as needed, such as the Payment Journal.
  3. Save and Enable the Stripe Acquirer:

    • Click Save.
    • Click Publish to enable the Stripe payment acquirer.

4. Configure POS to Use Stripe

  1. Go to the Point of Sale module:

    • Navigate to Point of Sale > Configuration > Point of Sale.
    • Select the POS configuration you want to edit.
  2. Enable Stripe Payment Method:

    • In the POS configuration, go to the Payment Methods section.
    • Add Stripe as a payment method by selecting it from the list of available methods.

5. Setting Up the Stripe Terminal

Stripe terminals need to be configured to communicate with Odoo.

  1. Connect the Stripe Terminal:

    • Follow the instructions provided by Stripe to connect your Stripe terminal to your network and your Stripe account.
  2. Configure the Terminal in Odoo:

    • In the POS configuration settings, you may need to specify the terminal ID and other connection details provided by Stripe.
    • This ensures that Odoo can communicate with the Stripe terminal for payment processing.

6. Using Stripe in Odoo POS

  1. Start a POS Session:

    • Open a new POS session in Odoo.
  2. Process a Payment:

    • Add products to the cart.
    • Click on Payment.
    • Select Stripe as the payment method.
    • The POS will prompt the customer to complete the payment using the Stripe terminal.
    • Follow the instructions on the terminal for the customer to swipe, insert, or tap their card.
  3. Complete the Transaction:

    • Once the payment is processed, Odoo will automatically update the transaction status.
    • Print or email the receipt to the customer as needed.

Conclusion

By following these steps, you can successfully integrate Stripe with Odoo POS to accept credit card payments through a Stripe terminal. This setup enhances the checkout experience by providing a seamless and secure payment method for customers. If you encounter any issues, refer to Stripe’s documentation or Odoo’s support resources for further assistance.


POS Cash In/Out

Let's go through the detailed steps to handle this scenario in Odoo POS for a Domino's Pizza restaurant.

Scenario

  1. Start of POS Session:
    • Opening Cash: $1000
      Screenshot from 2024-06-18 17-17-51 1.png
  2. Receive an Order:
    • Payment Method: Cash on Delivery
    • Order Amount: $200
  3. Cash In Operation:
    • Cash received from the delivery boy: $200
      Screenshot from 2024-06-18 17-21-30.png
  4. Cash Out Operation:
    • Expense: $50 for the delivery bike's petrol
      Screenshot from 2024-06-18 17-23-03.png

Step-by-Step Example in Odoo POS

Step 1: Start the POS Session

  1. Navigate to the POS Dashboard:

    • Go to Point of Sale > Dashboard.
  2. Start a New Session:

    • Click on New Session to start a new POS session.
  3. Set the Opening Cash:

    • You will be prompted to enter the opening cash amount.
    • Enter Opening Cash: $1000
    • Click Start Session.

Step 2: Record the Cash on Delivery Order

  1. Receive Order:

    • The delivery boy receives a $200 payment from a customer for a pizza delivery.
  2. Register the Order in POS:

    • In the POS interface, create a new order for the customer.
    • Add the ordered items (e.g., pizzas) totaling $200.
    • Select Cash on Delivery as the payment method.
    • Mark the order as delivered.

Step 3: Perform Cash In Operation

  1. Cash In $200 Received:

    • Click on the Control button (often depicted as a gear icon or labeled as "Control") in the POS interface.
    • Select Cash In.
  2. Enter Cash In Details:

    • Amount: $200
    • Reason: Cash received from delivery order
  3. Confirm Cash In:

    • Click Validate to confirm the cash in transaction.

Step 4: Perform Cash Out Operation

  1. Cash Out $50 for Petrol:

    • After some time, you need to cash out $50 for the delivery bike's petrol.
    • Click on the Control button again.
    • Select Cash Out.
  2. Enter Cash Out Details:

    • Amount: $50
    • Reason: Petrol for delivery bike
  3. Confirm Cash Out:

    • Click Validate to confirm the cash out transaction.

Step 5: Close the POS Session

  1. Close Session:

    • At the end of the day, click Close in the POS interface to close the session.
  2. Reconcile Cash Drawer:

    Screenshot from 2024-06-18 17-25-00.png

    • Odoo will prompt you to count the cash in the drawer and enter the amount.
    • Expected Cash Calculation:
      • Opening Cash: $1000
      • Cash In: $200 (from delivery)
      • Cash Out: $50 (for petrol)
      • Expected Cash: $1000 + $200 - $50 = $1150
    • Enter the actual cash amount in the drawer: $1150.
  3. Validate and Close:

    • If the actual cash matches the expected cash, confirm by clicking Validate Closing & Post Entries.
    • If there is a discrepancy, provide a reason and then click Validate Closing & Post Entries.

Conclusion

By following these steps, you have successfully managed cash in and cash out operations in Odoo POS for a Domino's Pizza restaurant. The operations included setting an opening cash float, recording a cash on delivery order, performing cash in for the received payment, and performing cash out for a petrol expense. Finally, you reconciled the cash drawer at the end of the session to ensure all transactions were accounted for.

Example Summary

  1. Start Session:
    • Set opening cash to $1000.
  2. Cash on Delivery Order:
    • Record a $200 order and select Cash on Delivery.
  3. Cash In:
    • Add $200 to the cash drawer from the delivery boy.
  4. Cash Out:
    • Remove $50 for petrol expense.
  5. Close Session:
    • Expected cash: $1150.
    • Actual cash: $1150.
    • Session closed with no discrepancies.

This detailed example illustrates how to handle cash in and cash out operations in Odoo POS using a real-world scenario from a Domino's Pizza restaurant.


POS Product management

In pos product management we can handle products, product Variants, Product combo, POS product categories, Attributes

Screenshot from 2024-06-19 11-02-43.png

Here we can create our new product by clicking on new button

Screenshot from 2024-06-19 11-04-02.png

Fill the essential details such as Product Name,Product Type, Product Category, Sales Price, Cost, etc.

If you want to create new category in products then we can go to Point of Sales -> configuration -> pos product categories

Screenshot from 2024-06-19 11-20-47.png

Create new category by clicking on new button

Screenshot from 2024-06-19 11-21-57.png

Set Category name, Parent Category, Image of the Category and Sequence.
Here i am creating new product category which is Tea , for example i want to add product inside this category then we need to set category from the product -> Sales -> Point of sale

Screenshot from 2024-06-19 11-25-14.png

How to create product combo

First create a Product combo from Point of sale -> Products -> Product Combos

Screenshot from 2024-06-19 11-29-43.png

after that click on new button to create new product combo

Screenshot from 2024-06-19 11-47-31.png

after that just create a new product from Point of sale -> Products and in Product type field select combo and inside combo choice notebook add chai combo which we have created in Product Combos.


POS Product Management

Screenshot from 2024-06-19 13-03-16.png

Click on Customer

Screenshot from 2024-06-19 13-20-23 1.png

Customer Creation and Management:

  • New Customer Creation: During a POS transaction, if a customer does not exist in the system, you can quickly create a new customer profile directly from the POS interface. This includes capturing basic details such as name, contact information, and optionally, additional fields you may configure.

    Screenshot from 2024-06-19 13-22-19 1.png

  • Existing Customer Selection: If the customer is already registered in the Odoo database, you can easily select them from a list or search by name, email, or other identifiers.

Customer Information and Preferences:

![[Screenshot from 2024-06-19 13-25-27.png]]
  • View and Edit Details: Once a customer is selected or created, you can view their details directly within the POS interface. This includes their contact information, purchase history, loyalty points (if enabled), and any special notes or preferences.

  • Edit Customer Information: Users with appropriate permissions can edit customer information such as contact details or add notes relevant to the customer relationship.

Loyality Programs

  • Here we need to enable Promotions, Coupons, Gift Card & Loyalty Program from settings which is available i configuration

    Screenshot from 2024-06-19 13-30-35.png

  • Integration with Loyalty Programs: Odoo POS supports loyalty programs where customers can earn points based on their purchases. These points can later be redeemed for discounts or other rewards.

  • Earn and Redeem Points: During transactions, customers’ loyalty points are updated automatically based on their purchases. Customers can also redeem points directly from the POS interface if they have accumulated enough points.

Screenshot from 2024-06-19 14-14-18.png

  • Frome settings -> Discount & Loyality create new loyality program.

Sales History and Analytics:

  • From Point of Sale -> customers -> select particular customer -> open pos order smart button

Screenshot from 2024-06-19 14-33-34.png

  • Purchase History: The POS system in Odoo maintains a record of each customer’s purchase history, which helps in understanding their buying patterns and preferences.

  • Analytics and Reporting: Odoo provides various analytics and reporting tools that can analyze customer data, such as sales trends by customer, average order value, and more. This helps in making informed decisions regarding customer engagement and marketing strategies.


Step-by-Step Order Processing in Odoo POS:

  1. Starting a New Order:

    • The cashier logs into the Odoo POS system and starts a new order session.
    • They may choose to identify or create a customer profile at this stage.
  2. Adding Products to the Order:

    • Products can be added to the order by:
      • Scanning product barcodes using a barcode scanner.
      • Searching for products by name or SKU.
      • Selecting products from predefined categories or menus displayed on the POS screen.
    • Quantities of each item can be adjusted as necessary.
  3. Applying Discounts or Promotions:

    • The cashier can apply discounts or promotional offers to individual items or the entire order, if applicable.
  4. Customer Interaction:

    • If the customer is identified, their details (name, contact information) are displayed on the POS screen.
    • Loyalty points accumulation (if enabled) and any special customer notes are also visible.
  5. Payment Processing:

    • The cashier selects the payment method(s) accepted by the business (cash, credit/debit card, mobile payment, etc.).
    • For split payments, they can allocate amounts to different payment methods.
    • Odoo POS integrates with payment gateways to process electronic payments securely.
  6. Order Review and Confirmation:

    • Before finalizing the transaction, the cashier reviews:
      • The list of items in the order.
      • Applied discounts or promotions.
      • Total amount due.
    • The customer confirms the order details and total amount before proceeding with payment.
  7. Generating Receipts:

    • Once payment is completed, Odoo POS generates a receipt:
      • Physical Receipt: It can be printed out for the customer.
      • Digital Receipt: Optionally, it can be sent via email or SMS.
  8. Integration with Backend Processes:

    • The completed order details are synchronized in real-time with the Odoo backend system.
    • Inventory levels are updated to reflect the items sold.
    • Sales records and customer profiles are updated with the transaction data.
  9. Handling Refunds and Exchanges:

    • If a customer requests a refund or exchange:
      • The cashier can initiate these transactions from the POS interface.
      • Refunds can be processed using the original payment method or as store credit, depending on business policies.
  10. Reporting and Analytics:

    • Odoo provides comprehensive reporting tools to analyze sales performance:
      • Sales trends over time.
      • Best-selling products.
      • Customer purchase behavior.
    • These insights help businesses make informed decisions for inventory management and marketing strategies.
  11. Security and Compliance:

    • User access permissions ensure that only authorized personnel can perform sensitive actions like refunds or discounts.
    • Data security measures protect customer information and transactional data in compliance with privacy regulations.

By following these steps, Odoo’s POS module streamlines the entire order processing workflow, ensuring efficiency, accuracy, and a positive customer experience in retail environments.


POS Payment Handling

Let's walk through an example to illustrate how payment handling works in Odoo's Point of Sale (POS) module:

Example Scenario: Making a Purchase at a Retail Store

Step-by-Step Process:

  1. Starting the Transaction:

    • Jane, a customer, selects several items at a retail store equipped with Odoo POS. The cashier begins the checkout process by scanning each item's barcode or selecting them from the POS interface.
  2. Adding Products:

    • Jane's items include a laptop priced at $1,200, a mouse priced at $30, and a keyboard priced at $50. The total before tax is $1,280.
  3. Choosing Payment Method:

    • After confirming the items, Jane decides to pay with her credit card.
  4. Processing Payment:

    • The cashier enters the total amount of $1,280 into the POS system. Jane inserts her credit card into the POS terminal's card reader.
  5. Payment Authorization:

    • Odoo POS communicates with the payment gateway integrated with the store's system.
    • The payment gateway verifies Jane's credit card details and authorizes the transaction in real-time.
  6. Confirmation and Receipts:

    • The POS terminal displays a confirmation screen showing the transaction's details: items purchased, total amount, and payment method (credit card).
    • Jane confirms the transaction, and Odoo POS generates a receipt.
    • The cashier offers Jane the option to receive the receipt either via email or in printed form.
  7. Handling Split Tenders (Optional):

    • If Jane wanted to split her payment (e.g., part credit card and part cash), the cashier could accommodate this by adjusting the amounts accordingly in the POS system.

    Screenshot from 2024-06-19 15-28-04.png

  8. Integration with Backend Systems:

    • The completed transaction details, including the items sold and payment received, are automatically synchronized with Odoo's backend.
    • Inventory levels are updated to reflect the items sold, and sales records are recorded for reporting and accounting purposes.
  9. Refunds and Returns:

    • If Jane later decides to return the mouse due to a defect, the cashier can process a refund directly through the POS interface.
    • The refund amount is credited back to Jane's credit card, maintaining transactional accuracy.

In this example, Odoo's POS module efficiently handles the entire payment process, from selecting items to completing the transaction and ensuring seamless integration with backend operations for accurate reporting and customer satisfaction.


list of key models used in the Odoo POS (Point of Sale) system, along with a brief description of each. These models cover the main aspects of the POS workflow, including session management, sales orders, payments, inventory movements, and more.

Key Models in Odoo POS

  1. pos.session

    • Manages POS sessions (open, close, and track sales during a session).
  2. pos.order

    • Represents a POS order or transaction. Stores details of the sale, such as products, quantities, prices, and taxes.
  3. pos.order.line

    • Represents individual line items within a POS order, detailing each product sold in the order.
  4. pos.payment

    • Records payments made in the POS, detailing the payment method and amount.
  5. account.journal

    • Manages journals used for recording financial transactions, including those related to POS operations.
  6. stock.picking

    • Handles inventory movements triggered by POS sales, such as reducing stock from the warehouse.
  7. stock.move

    • Represents individual stock movements within a stock.picking.
  8. product.product

    • Manages the products available for sale in the POS.
  9. product.template

    • Manages the template for products, including common attributes shared across product variants.
  10. res.partner

    • Manages customer information. Can be linked to POS orders if customer details are recorded.
  11. pos.config

    • Stores configuration settings for POS terminals, including payment methods, interfaces, and other POS-specific settings.
  12. res.users

    • Manages user information, including cashiers operating the POS.
  13. account.move

    • Represents accounting entries, such as those generated from POS transactions.
  14. pos.payment.method

    • Defines different payment methods available in the POS (e.g., cash, credit card, mobile payment).
  15. pos.category

    • Organizes products into categories for easy access and navigation in the POS interface.
  16. pos.cashbox

    • Manages cash transactions in the POS, including opening and closing balances.
  17. pos.config

    • Stores configuration settings for the POS system, like interface settings and hardware configurations.

Workflow Example with Models

  1. POS Session Management

    • Model: pos.session
    • Description: Handles the opening and closing of POS sessions.
  2. Order Processing

    • Model: pos.order
    • Description: Creates a new order when a sale is made.
    • Model: pos.order.line
    • Description: Adds products to the order lines.
  3. Payment Handling

    • Model: pos.payment
    • Description: Records the payment details.
  4. Inventory Management

    • Model: stock.picking
    • Description: Manages the movement of stock due to the sale.
    • Model: stock.move
    • Description: Records the details of each stock movement.
  5. Product Management

    • Model: product.product
    • Description: Contains individual product information.
    • Model: product.template
    • Description: Contains product template information shared by variants.
  6. Customer Management

    • Model: res.partner
    • Description: Manages customer details.
  7. Financial Accounting

    • Model: account.move
    • Description: Records accounting entries for POS transactions.
    • Model: account.journal
    • Description: Manages journals for recording financial transactions.
  8. Payment Methods

    • Model: pos.payment.method
    • Description: Defines the available payment methods.
  9. POS Configuration

    • Model: pos.config
    • Description: Stores POS terminal configuration settings.

By utilizing these models, the Odoo POS system ensures that all necessary data is accurately recorded, processed, and transferred across different functional areas, enabling seamless operation from sales to inventory management and accounting.